package com.red.star.wechat.data.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.Date;
import java.util.List;

/**
 * @author nofish.yan@gmail.com
 * @date 2018/2/7.
 * 聊天会话
 */
@Data
@Document(collection = "chat_session")
public class ChatSession {

    @Id
    private String id;

    /**
     * C端用户粉丝ID
     */
    @Field(value = "c_fans_id")
    private Integer cFansId;

    /**
     * B端用户粉丝ID
     */
    @Field(value = "b_fans_id")
    private Integer bFansId;

    /**
     * E端管理员ID
     */
    @Field(value = "admin_id")
    private Integer adminId;

    /**
     * 导购员ID
     */
    @Field(value = "employee_id")
    private Integer employeeId;

    /**
     * 商场code
     */
    @Field(value = "mall_code")
    private String mallCode;

    /**
     * 组（接待组&联盟组）
     */
    @Field(value = "group_id")
    private Integer groupId;

    /**
     * 是否响应
     */
    private Boolean resp;

    /**
     * 聊天消息内容
     */
    private List<ChatMessage> messages;

    /**
     * 聊天会话是否有效
     */
    private Boolean enable;

    @Field(value = "create_time")
    private Date createTime;

    @Field(value = "update_time")
    private Date updateTime;

    /**
     * 发起聊天场景
     */
    @Field(value = "scene")
    private Integer scene;

    /**
     * 最后发起聊天场景
     */
    @Field(value = "last_scene")
    private Integer lastScene;

    /**
     * 聊天类型
     * 1: C端-商场(首页聊天)
     * 2: C端-接待组
     * 3: C端-联盟组
     * 4: C端-B端(导购,管理员)
     * 5: C端-E端管理员
     * 6: E端管理员-接待组
     */
    @Field(value = "type")
    private Integer type;
}
